In many instances, a search engine is utilized to search for information. In general, a search engine is a special program (e.g., computer executable instructions) designed to help find files (e.g., web pages, images, text . . . ) stored on a computer, for example, a public server or on one's own personal computer. A typical search engine allows a user to invoke a query for files that satisfy particular criteria, for example, files that contain a given word or phrase in a title or body. Web search engines generally work by storing information about a large number of web pages retrieved from the World Wide Web (WWW) through a web crawler, or an automated web browser, which follows essentially every link it locates. The contents of each web page are then analyzed to determine how it should be indexed, for example, words can be extracted from the titles, headings, or special fields called meta-tags. Data about web pages is stored in an index database for use in later queries. Some search engines store (or cache) all or part of a source page as well as information about the web pages. When a user invokes a query through the web search engine by providing key words, the web search engine looks up the index and provides a listing of web pages that best-match the criteria, usually with a short summary containing the document's title and/or parts of the text.
In general, the usefulness of a search engine depends on the relevance of the results it presents to a user and the presentation of such results. While there can be numerous web pages that include a particular word or phrase, some web pages may be more relevant, popular, or authoritative than others. Most search engines employ methods to rank the results to provide a “best” result first. How a search engine decides which pages are the best matches, and what order the results should be shown in, varies widely from one engine to another. Conventionally, the technique for displaying what the search engine considers relevant information about a web page to a user can be based on a static ranking and a dynamic ranking. In other words, query results are traditionally ranked based on static information pertaining to the quality of the result (such as the number of links and the traffic associated with such links), and dynamic information pertaining to the result's relevance to the query (such as the number of times the query term occurs in the result). Thus, a particular web page that does not mention the query term can be ranked very high because a link within such web page has a relatively high amount of traffic. Specifically, a static ranking can involve seeing how many other web pages link to a web page as well as the density of matches to the search term on the page. Dynamic ranking can involve the frequency of the query term in the document or ranking a page slightly higher every time a user clicks on that link after it appears in search results for that query.
Typically, Internet search results are sifted and browsed in order to identify relevant or applicable information. For example, a search with particular terms on a search engine can yield specific results in which one result may be important and satisfy a first user, whereas a disparate result may be important and satisfy a second user. Current research on the “personalization” of search results attempts to enhance the Web search experience by utilizing an individual's data (e.g., index of content on a machine, past web visitation, query histories, etc.) in order to customize search results. For instance, search results can be re-ranked so that results similar to documents on a user's machine are ranked more highly. Additionally, web search results can be re-ranked so results that an individual has visited in the past are ranked more highly. In general, personalization of web search results can prove to be a vital factor in a user's Internet browsing experience.